#ifndef __USER_LIST__
#define __USER_LIST__

#include "head.h"

//初始化用户链表
extern user_node* init_list(void);

//显示当前在线用户
extern void show_list(user_node *users);

//初始化用户节点
extern user_node *new_node(struct userinfo *info);

//添加用户
extern void add_user(user_node *users,user_node *new_user);

//删除用户
extern void del_user(user_node *duser);

// 在用户链表中，找到指定地址的用户
extern user_node *find_out(user_node *users,struct sockaddr_in *paddr);

/*
** 功能：从文件加载数据
** filename		文件名字
*/ 
extern void file_load_data(user_node* head, const char *filename);

/*
** 功能：保存数据到文件
** filename		文件名字
*/ 
extern void file_save_data(user_node *head, const char *filename);

//清空链表
extern void destory(user_node *users);

//根据id查询用户
extern user_node *find_user_by_id(user_node *users,unsigned int id);

//删除用户
extern void del_userpro(user_node *users,user_node *duser);
#endif